package main

import "fmt"

func main() {
	//make 用于初始化 slice、map 和 channel,给他们一个数字类型的默认值
	//不指定变量的默认值时，这些变量的默认值是他们的零值，比如int类型的零值是0,string类型的零值是""，引用类型的零值是nil。
	//make(Type, size, cap)
	//Type 是指类型，size指的是为这个类型分配多少个元素，cap 为预分配的元素数量，这个值设定后不影响 size，只是能提前分配空间，降低多次分配空间造成的性能问题。
	a := make([]int, 2)
	b := make([]int, 2, 10)
	fmt.Println(a, b)
	fmt.Println(len(a), len(b))
	fmt.Println(cap(a), cap(b))

	c := make([]int, 5)
	d := c[0:3]
	d[0] = 100
	fmt.Println(c)
	fmt.Println(d)
}
